package com.zac.coroutine.algorithm.leetcode.others

/**
 * author zac
 * date 2025/8/1
 *给定一个正整数 n，编写一个函数，获取一个正整数的二进制形式并返回其二进制表达式中 设置位 的个数（也被称为汉明重量）。
 */
object HammingWeight {

    @JvmStatic
    fun main(args: Array<String>) {
        println(hammingWeight(2147483645))
    }

    fun hammingWeight(n: Int): Int {
        var m = n
        var count = 0
        while (m != 0) {
            val i = m % 2
            if (i == 1) {
                count++
            }
            m = m / 2
        }


        return count
    }
}